﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail;
using System.Net;
using System.Data.SqlClient;

namespace sccf
{
    public class ConfigurarConvocatoriaController
    {
        public static string Registrar(string comment, DateTime dia_inicio, DateTime dia_fin)
        {
            if (dia_inicio.Date < DateTime.Today)
            {
                return "Dia de Inicio no válido, por favor seleccione otra fecha";
            }
            else if (dia_fin.Date <= DateTime.Today)
            {
               return "Dia de Finalización no válido, por favor seleccione otra fecha";
            }
           else if (comment.CompareTo("") == 0)
           {
               return "Comentario en blanco";
           }
           else
           {
               List<string> correos = ConfigurarConvocatoriaModel.Registrar(comment, dia_inicio, dia_fin);
               string id = correos[0];
               correos.RemoveAt(0);
               var from = new MailAddress("consejosconsultaformal@gmail.com", "Consejos por Consulta Formal");
               var mail = new MailMessage();
               mail.From = from;
               for (int i = 0; i < correos.Count(); i++)
                   mail.Bcc.Add(correos[i]);
               mail.Subject = "Convocatoria Consejo por Consulta Formal número: "+id;
               mail.Body = "Fecha de inicio: " + dia_inicio.Date.ToString() + Environment.NewLine + "Fecha de Finalización: " + dia_fin.Date.ToString() + Environment.NewLine + comment;
               var client = new SmtpClient("smtp.gmail.com", 587)
               {
                   Credentials = new NetworkCredential("consejosconsultaformal@gmail.com", "consejos1234"),
                   EnableSsl = true
               };
               client.Send(mail);

               return "";
           }
                
        }


        public static int Consultar()
        {
            return ConfigurarConvocatoriaModel.Consultar();
        }

        internal static SqlDataReader puntos()
        {
            return ConfigurarConvocatoriaModel.puntos();
        }
    }

}